package com.bbzn.device.client.vo.req;

import lombok.Getter;
import lombok.Setter;

/**
 * @Author wulongbo
 * @Date 2021/7/1 14:23
 * @Version 1.0
 */

@Setter
@Getter
public class FaceVO {

    /**
     * 数据库名称
     * DbName与DbNames二选一。
     */
    private String dbName;

    /**
     * 数据库名称列表，以英文逗号（,）分割，可以实现跨库查询，最大支持20个数据库。
     * DbName与DbNames二选一。
     */
    private String dbNames;

    /**
     * 人脸图片地址，人脸必须是正面无遮挡单人人脸
     */
    private String imageUrl;

    /**
     * 实体ID，用来标识用户的唯一性，如用户ID、员工ID等。每个实体可包含多张人脸图片。
     * 支持大小写字母、数字、下划线、减号的组合，长度为1~64字符。
     */
    private String entityId;

    /**
     * 自定义信息。支持字母、数字、标点符号和汉字。不超过512个字符。
     * 示例值：王小二
     */
    private String extraData;

    /**
     * 单个人脸列表中搜索人脸结果数量限制
     */
    private Integer limit;

    /**
     * 质量分阈值。对新增人脸图片进行质量分析判断，得到的质量分小于该阈值则表示新增人脸图片质量不符合要求，
     * 添加失败。取值范围[0.0,100.0]。0.0或空则表示不做质量分判断逻辑。
     * 示例值：50.0
     */
    private Float qualityScoreThreshold;

    /**
     * 类内相似度阈值。将新增人脸图片与EntityId内已有人脸进行相似比对，
     * 小于该阈值则表示与其他人脸图片差异较大，添加失败.；
     * 若EntityId内没有人脸存在，则添加成功。取值范围[0.0,100.0]。0.0或空则表示不做类内相似度判断逻辑。
     * 示例值：50.0
     */
    private Float similarityScoreThresholdInEntity;

    /**
     * 类间相似度阈值。将新增人脸图片与其他所有EntityId内已有人脸进行相似比对，
     * 大于等于该阈值则表示其他EntityId内存在相似人脸，出现重复，添加失败。
     * 取值范围[0.0,100.0]。0.0或空则表示不做类间相似度判断逻辑。
     * 示例值：50.0
     */
    private Float similarityScoreThresholdBetweenEntity;

    /**
     * 人脸id
     */
    private String faceId;
}
